home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hyper Stacks 1994 May
/
Hyper Stacks (Pacific HiTech)(1994)[Mac].iso
/
Utilities
/
PasteColor Standard
/
PasteColor Standard Docs.Text
< prev
next >
Wrap
Text File
|
1993-12-14
|
14KB
|
239 lines
PasteColor Standard
Version 1.0b6
BY
Guy Zaslavsky
• Release Notes
PasteColor is SHAREWARE. This means that you can try it out
and pass a copy on to your friends (be sure to give them the
complete package, including this document) freely, but if you want
to use it regularly you must register by sending $20 ($30 for
printed technical manual, and disk with latest version and utilities,
sent to you via air mail) to me, at the address below. This package
may be distributed freely electronically as well as via user groups
and shareware software collections. Commercial distribution is
prohibited without my written consent. PasteColor is ©Guy
Zaslavsky, and you may not modify, decopmile, reverse engineer or
otherwise reduce it to human perceivable form.
As a gesture of good will, and because I believe that the
shareware software distribution system can actually work well for
both small developers and end-users (due to the absence of costly,
multistage mediation and a try-before-you-buy convenience), I
have decided to offer a $15 discount on the personal edition of my
robust, soon-to-be-released, non-shareware Enhanced version, to
all registered users of this version. This should not in any way
constitute a consideration for registering this version. Again, this is
a gesture, and not part of what you’re paying for. For more details
about PasteColor Enhanced see section “Limitations and Future
Enhancements”.
send your name, address, e-mail address, comments, suggestions,
and $20 ($30 for printed technical manual and disk with latest
version and utilities , sent to you via air mail) to:
Guy Zaslavsky
7 Rozen Street
Haifa, Israel 34784
You can send me e-mail to the following InterNet address:
s3450158@techst02.technion.ac.il
• What It Does
PasteColor is an external command for HyperCard (XCMD),
which allows you to add color (up to 32-bits per pixel!) to
HyperCard stacks with copy and paste simplicity. Unlike practically
every other product in the market that adds color to some aspect of
HyperCard or another (Color text packages, pictures in external
windows, etc.), PasteColor requires absolutely no scripting
knowledge. You can paste any color picture into your stack,
transparently, with no early preparation (except installing the
needed resources from the installer that's built into the PasteColor
stack). Once you choose "Paste Picture" from the Edit menu, your
color picture will appear on screen.
Manipulating color pictures pasted using PasteColor is much
more convenient (in my opinion) then managing black and white
pictures using HyperCard's built-in B/W graphics support. Each
pasted in picture is treated as an independent object, in such a way
that it can be moved around, cut, copied, or duplicated. Although
you can’t edit the color pictures inside HyperCard, as you can with
the standard B/W graphics, you are likely to find it most
comfortable using a dedicated graphics program to produce quality
graphics, and then paste the picture into your stack.
• Using PasteColor
Note: Before using any stack that contains PasteColor, make
sure that HyperCard’s memory partition is set to at least 2Mb (4Mb
if possible). You can change the memory partition in the Get Info
window of the HyperCard application. You will not be warned if the
memory is set to less, but you can expect a system error or color
pictures appearing and disappearing erratically, if you try pasting
large pictures (16/24-bit perhaps?), or work with large card
window sizes.
A pasted picture will be interactive initially. You can move, cut,
copy, and duplicate an interactive picture. You do that by choosing
an option from the pop-up menu that appears when you option-
click an interactive picture. Moving a picture is the same as moving
an icon in the Finder. Copy will place a copy of the picture on the
clipboard, and Cut will further remove the original. Duplicate will
create a copy of the picture slightly lower and to the right of the
original.
A forth option in the pop-up menu is perhaps the most useful
one -- "Burn in...". By "Burning in" the picture you eliminate the
possibility of moving or invoking the pop-up menu, permanently.
This allows you to carefully position your picture on the card and
then make it stay there without interacting with the user. Unless
the option key is pressed while you release the mouse over the
selection, you will be asked to confirm your intention to burn in the
selected picture. This is due to the permanence of the burn in
function in the standard version of PasteColor.
PasteColor works intensively behind the scenes for every
operation involving its objects. As a result you may notice slight
delays on some operations when operating on slower Macs such as
the II, IIx, IIcx, IIsi, LC, LCII, and Color Classic. You can know when
that delay has ended when the browse tool cursor turns into a plain
arrow, and then back. Also, if you try pasting large color pictures,
there will be a long delay, and if you are short on disk space,
possibly a system error. If you are experiencing tedious delays for
simple operations (most likely on large stacks with many color
pictures), try increasing the disk cache (in the Memory control
panel) and HyperCard’s memory partition. You can also try working
on a copy of the stack that’s on a RAM disk (also in the Memory
control panel), but remember to copy the stack back to your hard
disk when you’re done so that it does’nt disappear when you shut
the Mac down.
• Limitations and Future Enhancements
PasteColor Standard does not include background support nor
can it include color data with cards that are cut or copied (It can,
however, correctly delete color data when deleting a card). If you
wish to create a consistent color background in many cards in your
stack, you must paste the color picture into each card individually.
This causes both greater disk space (the size of the picture
multiplied by the number of cards) and effort (repositioning each
picture and burning it in individually). PasteColor Enhanced
checks to see if you are in background mode and then decides
whether to paste the picture normally or as one background picture
that is shared by all cards of the current background, and does’nt
have to be updated regularly. This method provides for
considerably faster operation, as well as greater reliability. It also
correctly moves color data along with cards being cut or copied.
PasteColor Standard is not able to undo any action whatsoever.
E.g., if you accidentally move a picture, clear a picture, or even
worse - burn it in, by mistake, choosing undo from the menu will
do nothing. PasteColor Enhanced can undo any action (including
all the ones not existing in the standard version), as well as
providing an option in every pop-up menu to de-burn all pictures
in current card/background.
PasteColor Enhanced offers these additional options in the pop-
up menu: scale, clip, edit (opens the picture in a selected
application) compress, re-initialize card/background, buttonize
(convert into a clickable button), and export. It may offer color
filling capabilities, so that you could, for example, create a smooth,
color background which will consume a slight fraction of the disk
space a picture of that size would consume..
Duplicating in PasteColor Standard is not quite perfect. When
duplicating, the current contents of the clipboard are destroyed.
Also, instead of pointing to the original picture, PasteColor
Standard creates an independent copy, which takes more space.
PasteColor Enhanced can point as many pictures in a card as you
want to the same resource, thus enabling you to create a repeating
pattern using less disk space. It also works around the clipboard
destruction problem.
Currently, the PasteColor Standard Package is contrived of
several XCMDs/XFCNs (see credits) and a few handlers that go into
the stack’s script (an empty stack that includes a full installation of
PasteColor Standard, consumes about 100K of disk space).
PasteColor Enhanced is constructed of less, more integrated (thus
faster) XCMDs, consumes about one third disk space, and works
around many handlers so that your stack is more compatible, and
color support is more transparent to HyperCard developers.
PasteColor Enhanced is also “usable” -- you can use PasteColor
from any stack, by writing one line in it’s “openStack” handler (start
using stack “PasteColor Enhanced”), without actually installing PasteColor
into that stack. This method provides for less disk space
requirement, easier (collective) update of the PasteColor package,
and your stacks stay practically the same (as far as HyperTalk
concerns).
Unlike many other programs (including HyperCard’s built-in
‘picture’ command) that read from external files, each pasted-in
picture is contained in the stack file itself. If you paste many
pictures into many cards, your stack could get quite big. PasteColor
Enhanced offers both QuickTime support and internal JPEG
compression to reduce the disk space required by up to 96% (the
QuickTime support may include pasting in movies that play when
double-clicked, I haven’t decided yet weather or not to include that
in the first release of PasteColor Enhanced).
When HyperCard hilites a button as a response to either a direct
command or the very common button property “Auto-Hilite”, it
actually turns every pixel in the button's area from black to white
or vice versa. Therefore, since HyperCard is not directly aware of
the presence of color, nor does it know how to handle color
information, PasteColor will not be able to correctly display color
inside a hilited button (the whole button area will appear as an
inversion of the button itself and any other HyperCard objects or
B/W graphics in HyperCard's graphic layer, with some color visible
through the “white holes” of the button). PasteColor Enhanced
includes a color aware inversion option (similar to the flash
command, only limited to the button’s area), which can constitute a
substitution for the built-in hiliting. I am considering adding an
option of flipping the color data bounded by the button both
vertically and horizontally, so that you can create a convincing 3-D
effect in which the button, upon being clicked on seems to be
pushed in.
Tell me about anything you miss or desperately need, so that I
can try and include it in an early Enhanced version (1.x).
Overall, PasteColor Enhanced offers better performance and
much enhanced functionality. Please register this version so that I
can send you a $15 discount offer A.S.A.P..
• Bugs & Incompatibilities
PasteColor Standard does not have any as far as I know. Please
inform me, if you unfortunately find any. If you are a plain, non-
scripting HyperCard user, the use of PasteColor Standard should
be absolutely transparent to you. However, if you are a serious
scripter, or you want to install color support into existing stacks,
you should consult the technical manual that I sent you along with
your registered copy. The technical manual also includes
information about locked stacks, low userLevels, transitions,
animations, needed messages, and much more to help you get the
maximum out of your new color-capable HyperCard!
I hope that you appreciate the effort I made to not use even one
global variable, in order to do a “clean” job, minimize callbacks to
HyperCard, and obliterate any chance of a user getting into my
variables and causing ugly errors. If you run into incompatibilities
with certain scripts/externals and you send me specs of your work
around to overcome them, I'll do my best to integrate them into an
early version of the enhanced (or even standard) version.
Registered users of PasteColor are entitled to free, unlimited
number of upgrades to minor updates (these include mainly bug &
incompatibility fixes and performance tuning), either by e-mail or
by sending me a diskette and a self addressed envelope with $2
worth of stamps inside. Interested developers, having an e-mail
account in either AppleLink or InterNet, can subscribe to my
PasteColor newsletter, which includes news, hints & tips, and
general information on PasteColor and on various other
HyperCard/AppleScript subjects, for only $15 per year.
• Credits
PasteColor is an independent XCMD. However, in order to boost
performance, I replaced several of my own routines with other
people’s externals which do a specific task better (in some way or
another) than my own. Most of them are eliminated in the
enhanced version, where I’ve refined my own routines to a point
where the overall speed is at least as fast as now, while integrated
into a one, smaller, more versatile, more reliable XCMD.
I thank Frederic Rinaldi for his free, premium quality externals.
I compared many of them to similar commercial externals and they
usually turned out to be faster, more reliable, and generally offered
more control over operation. I highly recommend them to
everyone. Frederic Rinaldi can be reached at:
CompuServe: 71170,2111 AppleLink: RINALDI1
InterNet: RINALDI1@APPLELINK@APPLE.COM
I also thank BangDabba Productions for “ColorizingHC” - the
poorly implemented alternative to simply dumping a picture on
screen (It gave me the incentive to write PasteColor), to Heizer
Software for a great program (although difficult to master) --
CompileIt! , and finally, I wish to thank Shai Samuel, of Apple
Center Haifa, for helpful pieces of advice and support.